<?php

/***********************************************/
/*CONTENIDO*/
/***********************************************/
echo" <div class=\"pag_content\">
 	<div class=\"pag_content_title\">
		<div class=\"pag_title_cap\">Cap&iacute;tulo 6: </div>
		<div class=\"pag_title_cont\">Recuperar errores de Usuario</div>
    </div>
    <div class=\"pag_content_body\">         
	<div class=\"contenido_principal\">	
		<br />";
		
/***********************************************/
/*TITULO PARTE*/
/***********************************************/

echo"	<div class=\"parrafo_titulo\">
		Flashback Table
	</div>";		

	
/***********************************************/
/*CONTENIDO*/
/***********************************************/

echo"
<div class=\"parrafo\" align=\"justify\">
Esta herramienta de Flashback permite recuperar una tabla o un conjunto de tablas en un determinado punto en el tiempo. Esta opcion tiene una serie de ventajas respecto a una recuperacion incompleta:
<div class=\"parrafo_lista_sub\">
1. Es mucho mas rapida y facil de hacer que la recuperacion incompleta.<br />
2. Flashback table no impacta sobre el rendimiento de la base de datos.<br />
3. Un usuario podria ejecutar Flashback Table en su propio esquema sin la presencia de un DBA.<br />
</div>
</div>
<div class=\"parrafo\" align=\"justify\">
NOTA: Para que un usuario pueda realizar Flashback Table sobre las tablas de su esquema necesita los privilegios de FLASHBACK TABLE.
</div>
<div class=\"parrafo\" align=\"justify\">
Podemos configurar el tiempo en el tiempo donde queremos recuperar nuestra tabla especificando el SCN o el TIMESTAMP.
</div>
<div class=\"parrafo\" align=\"justify\">
Para el SCN podemos tiener como referencia la columna CURRENT_SCN de la vista V\$DATABASE
</div>
<div class=\"parrafo\" align=\"justify\">
Vamos a simular un ejemplo de Flashback Table:
</div>
<div class=\"parrafo\" align=\"justify\">
1. Tenemos que habilitar ROW MOVEMENT.
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>SQL&gt; ALTER TABLE PRUEBA ROW MOVEMENT;

</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
2. Vemos el SCN actual en el que estamos
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>SQL&gt; SELECT CURRENT_SCN FROM V\$DATABASE;

CURRENT_SCN
-----------
 	748502
	
</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
3. Simulamos un cambio sobre alguna tabla.
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>SQL&gt; UPDATE PRUEBA SET ID_PRUEBA=50001 WHERE ID_PRUEBA=50000;

1 row updated.

SQL&gt; commit;

</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
4. Restauramos la tabla a un scn anterior.
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>SQL&gt; FLASHBACK TABLE PRUEBA TO SCN 748502;

Flashback complete.

</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
NOTA: Por defecto los triggers en este punto estan deshabilitados, para habilitarlos hariamos:
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>SQL&gt; FLASHBACK TABLE PRUEBA TO SCN 748502 ENABLE TRIGGERS;
</p></pre></blockquote>
";
	
echo"
	</div> 		 
    </div>
    <div class=\"pag_content_footer\">
    </div>
    <div class=\"pag_content_nav\">		
		<div class=\"pag_contenido_left\">
			<a class=\"cap_next\" href=\"ocp_main.php?cap=6&part=3\">	&lt; Anterior </a>
		 </div>
		<div class=\"pag_contenido_right\" align=\"right\">	
			<a  class=\"cap_next\" href=\"ocp_main.php?cap=7&part=0\">	Cap&iacute;tulo 7 &gt;</a>
		 </div>
	</div>      
</div>
";


?>